package com.ruoyi.coffee.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.coffee.domain.Products;
import com.ruoyi.coffee.domain.ShopCarts;
import com.ruoyi.coffee.dto.ShopCartDto;
import com.ruoyi.common.core.domain.AjaxResult;

/**
 * 购物车Service接口
 * 
 * @author dxj
 * @date 2025-02-10
 */
public interface IShopCartsService  extends IService<ShopCarts>
{
    /**
     * 查询购物车
     * 
     * @param id 购物车主键
     * @return 购物车
     */
    public ShopCarts selectShopCartsById(Long id);

    /**
     * 查询购物车列表
     * 
     * @param shopCarts 购物车
     * @return 购物车集合
     */
    public List<ShopCarts> selectShopCartsList(ShopCarts shopCarts);

    /**
     * 新增购物车
     * 
     * @param shopCarts 购物车
     * @return 结果
     */
    public int insertShopCarts(ShopCarts shopCarts);

    /**
     * 修改购物车
     * 
     * @param shopCarts 购物车
     * @return 结果
     */
    public int updateShopCarts(ShopCarts shopCarts);

    /**
     * 批量删除购物车
     * 
     * @param ids 需要删除的购物车主键集合
     * @return 结果
     */
    public int deleteShopCartsByIds(Long[] ids);

    /**
     * 删除购物车信息
     * 
     * @param id 购物车主键
     * @return 结果
     */
    public int deleteShopCartsById(Long id);

    /**
     * 获取用户购物车列表
     * @return
     */
    AjaxResult getShopList();

    /**
     * 加入购物车
     * @param shopCartDto
     * @return
     */

    AjaxResult saveShopCarts(ShopCartDto shopCartDto);

    /**
     * 修改购物车
     * @param shopCartDto
     * @return
     */
    AjaxResult updateShopCartsInfo(ShopCartDto shopCartDto);

    /**
     * 清空购物车
     * @param ids
     * @return
     */
    AjaxResult removeAllByIds(Long[] ids);
}
